home *** CD-ROM | disk | FTP | other *** search
/ QRZ! Ham Radio 1 / QRZ Ham Radio Callsign Database - December 1993.iso / ucsd / packet / misc / readmeax.2ip < prev    next >
Encoding:
Text File  |  1991-06-27  |  9.7 KB  |  235 lines

  1.  
  2.                              ax25ip
  3.                              ======
  4.  
  5. Overview
  6. --------
  7.  
  8.    RFC1226 describes a method of using TCP/IP based networks to transport
  9. AX.25 frames.  The ax25ip utility uses this technique to transfer AX.25
  10. frames in and out of TCP/IP environments.
  11.  
  12.    The interface to the AX.25 world is via KISS, with ax25ip emulating
  13. either a standard KISS TNC or operating as a digipeater.  AX.25 frames
  14. arriving on the KISS interface are routed to the IP interface and sent
  15. to the appropriate IP host system.  Incoming frames from the IP interface
  16. are filtered and sent out the KISS interface.  The operator controls the
  17. mode (tnc or digipeater), the routing (callsign to ip host mapping), and
  18. a few sundry controls via a configuration file, read at startup.
  19.  
  20.    In it's current implementation, ax25ip runs only on BSD UNIX machines
  21. (SunOS 4.0.3 or greater, in particular).  It requires a serial port, and
  22. uses a raw socket to gain access to the IP layer of the host's TCP/IP
  23. implementation (this requires that ax25ip be started by root).
  24.  
  25.  
  26. Modes and Routing
  27. -----------------
  28.  
  29.    There are two interfaces into and out of ax25ip.  The KISS interface
  30. is a standard serial port, running speeds up to 38400 baud.  The IP
  31. interface reads and writes packets to an IP network in accordance with
  32. the specifications in RFC1226.  Several factors determine how AX.25
  33. frames route within ax25ip and through the IP network, although some
  34. basic rules always apply:
  35.  
  36.    A frame will never leave ax25ip on the same interface it came in on.
  37. This fundamental rule eliminates much complexity and much confusion on
  38. how to set up ax25ip.
  39.  
  40.    A frame will never be sent to more than one IP host.  Using an IP
  41. network as a broadcast media is probably not a good idea, especially
  42. across the Internet!
  43.  
  44.   Most other routing factors involve user configuration, and depend
  45. heavily on the mode of operation.
  46.  
  47.   In tnc mode, ax25ip emulates a KISS tnc, and behaves as one would
  48. expect.  The next destination callsign (either the destination or the
  49. next digipeater in line) is extracted from frames arriving on the KISS
  50. interface, and looked up in a routing table (built by the operator in the
  51. configuration file).  The routing table provides the IP address to which
  52. this frame should be sent.  The standard CRC is computed, tacked onto the
  53. frame, and the result is sent off to the target system.  Frames arriving
  54. from the IP interface have the CRC checked and removed, and are forwarded
  55. to the KISS interface.
  56.  
  57.    Digi mode is a little more complicated.  In this mode, ax25ip is
  58. assigned a callsign, and acts as a digipeater.  If a frame arriving on
  59. the KISS interface has ax25ip's callsign specified as the next digipeater,
  60. ax25ip will mark the frame as digipeated by it, look up the next callsign
  61. in the routing table, compute and append the CRC, and send the frame to
  62. the specified IP host.  Frames arriving on the IP interface will be
  63. handled in a similar fashion, but note that in no cases will the frame be
  64. sent out the same port it arrived in on.
  65.  
  66.  
  67. Configuration
  68. -------------
  69.  
  70.    A single configuration file is used to tailor ax25ip.  The file is
  71. usually named "ax25ip.cfg" and should be located in the same directory
  72. ax25ip is executed from.  An example is probably the best way to become
  73. familiar with configuring ax25ip.
  74.  
  75. # Sample Configuration file for ax25ip
  76. mode digi
  77. device /dev/ttya
  78. speed 9600
  79. mycall KA9WSB-7
  80. myalias ILSUN
  81. beacon every 540
  82. btext ax25ip -- digi ka9wsb-7 -- Experimental IP encapsulator
  83. loglevel 2
  84. route W1AW-13 handbook.arrl.com 
  85. route WZ9ZZZ last.one.edu
  86. param 1 20
  87.  
  88. The mode command selects the behavior of ax25ip.  The device line specifies
  89. the tty device to use, and the speed line selects the baud rate.  Baud
  90. rates up to 34800 can be used, but 19200 is probably the fastest safe
  91. speed for serial cables of any distance (remember, KISS has no error
  92. detection).  The mycall command is required only if you are in digi mode.
  93. The loglevel command selects the amount of verbosity you want, ranging from
  94. 0 (no output) to 4 (streams of data).  The route command adds entries to
  95. a static routing table, currently 128 entries deep.  In the example, AX.25
  96. frames destined for W1AW-13 are forwarded to handbook.arrl.com, frames for
  97. WZ9ZZZ are sent to last.one.edu, and all others go nowhere.  Specifying the
  98. word "default" in place of a callsign sets up a default route, used when
  99. the destination callsign cannot be found in the routing table.  Finally,
  100. in digi mode, the device on the other end of the KISS interface is probably
  101. a TNC.  The param command allows you to set the KISS parameters (txdelay,
  102. slottime, etc).  As many param commands as required can be specified.
  103.  
  104. The myalias command allows you to specify an alias for this digipeater.
  105. If you do this, you should probably use the beacon command to ensure
  106. that you ID regularly.  The beacon every 540 command forces an ID message
  107. to be sent out the KISS interface every 9 minutes.  Specifying beacon
  108. after 540 will send the ID packet only if the channel has been idle for
  109. 9 minutes.
  110.  
  111. Sending a hang-up signal to the ax25ip process will cause it to reread
  112. the configuration file and re-initialize itself  (kill -HUP <ax25ip-pid>).
  113.  
  114.  
  115. Sample Configuration - NOS-to-NOS
  116. ---------------------------------
  117.  
  118.    This example shows how to connect a pair of NOS-based PCs together
  119. using ax25ip to carry AX.25 traffic.
  120.  
  121.  
  122.     KA9WSB-3         one.two.com
  123.   .----------.      .----------.
  124.   |          |      |          |
  125.   |          | KISS | UNIX     |   |
  126.   |  NOS     |------|  host    |---|
  127.   |   on     |      |          |   |  TCP/IP network
  128.   |    PC    |      |          |   |
  129.   `----------'      `----------'   |
  130.                                    |
  131.                              (vast distance)
  132.                                    |
  133.                                    |   fish.sea.com        W1AW-5
  134.                                    |   .----------.      .----------.
  135.                                    |   |          |      |          |
  136.                                    |   | UNIX     | KISS |          |
  137.                                    |---|  host    |------|  NOS     |
  138.                                    |   |          | 1200 |   on     |
  139.                                        |          | baud |    PC    |
  140.                                        `----------'      `----------'
  141.  
  142.  
  143.      Config file:                        Config file:
  144.       mode tnc                            mode tnc
  145.       device /dev/ttya                    device /dev/ttya
  146.       speed 9600                          speed 1200
  147.       route W1AW-5 fish.sea.com           route KA9WSB-3 one.two.com
  148.   
  149. Using this setup, a user could run AX.25 connections between the two PCs.
  150. Note that while NOS can digipeat, NOS will not automatically allow users
  151. near W1AW-5 to digipeat through it to reach KA9WSB-3 (i.e. the command
  152. "C KA9WSB-3 V W1AW-5" will not have the desired result).  This may or may
  153. not be a problem.
  154.  
  155.  
  156. Sample Configuration - digi-to-digi
  157. -----------------------------------
  158.  
  159.    This example shows how to configure ax25ip as a pair of digipeaters.
  160.  
  161.  
  162.                       (KA9WSB-3)
  163.                      one.two.com
  164.   .----------.      .----------.
  165.   |          |      |          |
  166.   | Standard | KISS | UNIX     |   |
  167.   |   KISS   |------|  host    |---|
  168.   |   TNC    |      |          |   |  TCP/IP network
  169.   | & radio  |      |          |   |
  170.   `----------'      `----------'   |
  171.                                    |
  172.                              (vast distance)
  173.                                    |
  174.                                    |    (W1AW-5)
  175.                                    |   fish.sea.com        W1AW-5
  176.                                    |   .----------.      .----------.
  177.                                    |   |          |      |          |
  178.                                    |   | UNIX     | KISS | Standard |
  179.                                    |---|  host    |------|   KISS   |
  180.                                    |   |          | 9600 |   TNC    |
  181.                                        |          | baud | & radio  |
  182.                                        `----------'      `----------'
  183.  
  184.  
  185.      Config file:                        Config file:
  186.       mode digi                           mode digi
  187.       mycall KA9WSB-3                     mycall W1AW-5
  188.       device /dev/ttya                    device /dev/ttya
  189.       speed 9600                          speed 9600
  190.       route W1AW-5 fish.sea.com           route KA9WSB-3 one.two.com
  191.       param 1 20                          param 1 33  
  192.  
  193. In this setup, the UNIX hosts are "on the air".  No PCs or additional
  194. hardware are required.  A user near W1AW-5 could read a user near KA9WSB-3
  195. simply by providing the digipeater path: "c KA9WSB V W1AW-5 KA9WSB-3"
  196. would work just fine.
  197.  
  198.  
  199. Outstanding Issues
  200. ------------------
  201.  
  202.    There are many outstanding issues with this software.  A partial list,
  203. in no particular order, appears below.
  204.  
  205. - Portability!  io.c currently uses BSD-style select but sys5-style termios!
  206.  
  207. - ICMP messages relating to ax25ip are ignored.
  208.  
  209. - Performance of the routing lookups is probably horrid.  Also, a static
  210.   table is a crock.  Feedback from evaluations and test sites may help
  211.   determine how this should work.
  212.  
  213. - Statistics should be added.
  214.  
  215. - A few more comments in the code would be nice.
  216.  
  217.  
  218. Comments, Criticism, Enhancements, Problems, Bugs
  219. -------------------------------------------------
  220.  
  221.    You can reach the person responsible for ax25ip at any of the following
  222.    addresses:
  223.  
  224.    Mike.Westerhof@Central.Sun.COM
  225.  
  226.    KA9WSB@WB9YAE
  227.  
  228.    Mike Westerhof, 17 N Main St, Mt Prospect, IL 60056
  229.  
  230. -------------------------------------------------------------------------
  231. Copyright 1991, Michael Westerhof, Sun Microsystems, Inc.
  232. This software may be freely used, distributed, or modified, providing
  233. this footer is not removed.
  234. -------------------------------------------------------------------------
  235.